﻿/*
创建人：zhangrj
日期：2022-08-23
描述：机加平行作业工序释放页面js
*/
var page = {
    url: getRootPath() + "/Ashx/YePianContainer/YPContaienrHandler.ashx", //后台处理url,
    //设备分页参数
    pageTotal: 0,
    pageSize: 10,
    pageNumber: 1,
    uploadContainerId: "",
    init: function () {
        page.bind();
        page.uploadFile();
    },
    //绑定事件
    bind: function () {
        customizedEasyuiPagination('pp'); //定制化分页
        //列表加载
        $("#gdContainerInfo").datagrid({
            onLoadSuccess: function (data) {
                $('#pp').pagination('refresh', {	// 改变选项，并刷新分页栏信息
                    total: page.pageTotal,
                    pageSize: page.pageSize,
                    pageNumber: page.pageNumber
                });
                customizedEasyuiPagination('pp'); //定制化分页
            },
            columns: [[
                 { field: 'ck', title: '选择', checkbox: true },
                 { field: 'MFGORDERNAME', title: '订单号', width: 150 },
                 { field: 'CONTAINERNAME', title: '批次号', width: 200 },
                 { field: 'WORKFLOWSTEPNAME', title: '在制工序', width: 180 },
                 { field: 'PXZYSPECNO', title: '平行作业工序', width: 100 },
                 { field: 'PXZYODDNO', title: '平行作业单号', width: 100 },
                 { field: 'FILENAME', title: '上传文件', width: 250 },
                 { field: 'CONTAINERID', hidden: true }
                ]],
            onCheck: function (rowIndex, rowData) {
                page.uploadContainerId = rowData.CONTAINERID;
            },
            onUncheck: function (rowIndex, rowData) {
                page.uploadContainerId = "";
            },
            onCheckAll: function (rows) {
                page.uploadContainerId = "";
            },
            onUncheckAll: function (rows) {
                page.uploadContainerId = "";
            }
        });
        //设备列表分页事件
        $('#pp').pagination({
            onSelectPage: function (pageNumber, pageSize) {
                customizedEasyuiPagination('pp'); //定制化分页
                page.clearPage(false, true, true);
                page.pageSize = pageSize; page.pageNumber = pageNumber;
                page.search();
            }
        });
        //绑定分页go按钮
        $('#pageGo').on("click", function () {
            page.clearPage(false, true, true);
            var pageNumber = $(this).parents('tr').find('.pagination-num').val();
            page.pageNumber = pageNumber;
            page.search();
        });
        //查询信息
        $("#btnSearch").on("click", function () {
            page.clearPage(false, true, true);
            page.pageNumber = 1;
            page.search();
        });
        //重置查询
        $("#btnReset").on("click", function () {
            page.clearPage(true, true, true);
        });
        //新建设备信息
        $("#btnRelease").on("click", function () {
            page.clearPage(false, false, true);
            page.release();
        });
    },
    //查询
    search: function () {
        var formData = {
            action: "GetMacheHoldContainerList",
            pageSize: page.pageSize,
            pageIndex: page.pageNumber,
            scanContainer: $.trim($("#txtScanContainer").textbox("getValue")),
            containerName: $.trim($("#txtContainerName").textbox("getValue"))
        }
        page.post(page.url, formData, true, function (res) {
            if (!res.Result) {
                displayMessage(res.Message, res.Result);
                return;
            }
            page.pageTotal = res.RowCount;
            $("#gdContainerInfo").datagrid('loadData', { total: res.RowCount, rows: res.DBTable });
        });
    },
    //释放
    release: function () {
        var selected = $("#gdContainerInfo").datagrid("getChecked");
        if (selected.length == 0) {
            displayMessage("未选择批次", false);
            return false;
        }
        for (var i = 0; i < selected.length; i++) {
            if (selected[i].ISUPLOAD === "否") {
                displayMessage("批次" + selected[i].CONTAINERNAME + "存在未上传文件", false);
                return false;
            }
        }
        page.post(page.url, { action: "ReleaseMacheHoldContainer", params: JSON.stringify(selected) }, true, function (res) {
            if (res.Result) {
                page.search();
            }
            displayMessage(res.Message, res.Result);
        });
    },
    //上传文件
    uploadFile: function () {
        var uploader = WebUploader.create({
            // swf文件路径
            swf: page.rootPath + "/Content/webuploader/Uploader.swf",
            // 文件接收服务端。
            server: page.url,
            // 内部根据当前运行是创建，可能是input元素，也可能是flash.
            pick: '#picker',
            // 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
            resize: false,
            formData: {
                action: "UploadReleaseFile",
                containerId: page.uploadContainerId
            },
            multiple: false
        });
        //上传前动态获取上传参数
        uploader.on('uploadBeforeSend', function (obj, data, headers) {
            data.containerId = page.uploadContainerId;
        });
        //上传
        $('#ctlBtn').on("click", function () {
            var filename = $('#txtFileName').textbox('getValue');
            if (filename == "") {
                displayMessage("未选择文件", false);
                return;
            }
            var selected = $("#gdContainerInfo").datagrid("getChecked");
            if (selected.length === 0) {
                displayMessage("未选择批次", false);
                return false;
            }
            if (selected.length > 1) {
                displayMessage("上传文件只能选择一条批次", false);
                return false;
            }
            $('#ctlBtn').attr("disabled", "disabled"); //禁用按钮
            $.messager.progress({ text: '', msg: '处理中...' });
            uploader.upload();
        });
        // 当有文件被添加进队列的时候，每次只传一个文件
        uploader.on('fileQueued', function (file) {
            if ($('#txtFileId').val() != "") {
                var f = uploader.getFile($('#txtExcelFileId').val()); //找到上一次队列中的文件
                uploader.removeFile(f, true); //删除掉上一次队列中的文件
            }
            $('#txtFileName').textbox('setValue', file.name);
            $('#txtFileId').val(file.id);
        });
        //上传成功
        uploader.on('uploadSuccess', function (file, response) {
            displayMessage("", true);
            $.messager.progress('close');
            var result = response;
            displayMessage(result.Message, result.Result);
            var f = uploader.getFile(file.id); //找到上传的文件
            uploader.removeFile(f, true); //将其从队列中的删掉
            $('#txtFileName').textbox('setValue', "");
            $('#txtFileId').val("");
            $('#ctlBtn').removeAttr("disabled"); //恢复按钮
            page.search();
        });
        //上传失败
        uploader.on('uploadError', function (file) {
            $.messager.progress('close');
            displayMessage("上传失败", false);
            var f = uploader.getFile(file.id); //找到上传的文件
            uploader.removeFile(f, true); //将其从队列中的删掉
            $('#txtFileName').textbox('setValue', "");
            $('#txtFileId').val("");
            $('#ctlBtn').removeAttr("disabled"); //恢复按钮
        });
    },
    //清除页面（查询区域，列表区域，是否清空消息）
    clearPage: function (query, list, msg) {
        if (query) {
            $("#txtScanContainer").textbox("setValue", ""); //扫面流水卡
            $("#txtContainerName").textbox("setValue", ""); //流水卡
        }
        if (list) {
            clearEasyuiDataGrid("gdContainerInfo"); //清空列表
        }
        if (msg) {
            clearMessage();
        }
    },
    //post数据（路径，参数，是否异步，成功返回方法）
    post: function (url, param, async, callback) {
        $.ajax({
            type: "Post",
            url: url,
            data: param,
            cashe: false,
            async: async,
            dataType: "json",
            beforeSend: function () {
                $.messager.progress({ text: '', msg: '处理中...' });
            },
            success: function (data) {
                $.messager.progress('close');
                callback(data);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $.messager.progress('close');
                displayMessage(XMLHttpRequest.responseText, false);
                $("body").find(".easyui-linkbutton").each(function () {
                    $(this).linkbutton('enable');
                });
            }
        });
    }
}
page.init();
$(document).ready(function () {
    $('.webuploader-pick').css("padding", "3.5px 5px"); //改变上传按钮样式
});